To provide increased resiliency to against data failures and failures of a RAID controller, the use of clustered RAID configurations are becoming more popular. One type of cluster RAID is known as ACTIVE-STANDBY. In ACTIVE-STANDBY, one RAID controller is an active controller, and the other RAID controller is a standby controller. The active controller fields all I/Os to the disk subsystem. In the event that the active controller fails, the standby controller fields the I/Os to the disk subsystem. Another type of cluster RAID is known as ACTIVE-ACTIVE RAID. In ACTIVE-ACTIVE RAID, both controllers are active controllers and both controllers can take over for each other in the event of a controller failure.
For RAIDs an I/O from the OS layer can be said to have been completed only if all the I/O generated by the RAID stack is written to the disk. For example, for an I/O read to a disk, the I/O is completed after the write is performed, and any parity data is written. When an I/O is interrupted before it is completed, there may be holes in one or more stripes of the array. For example, it may be unclear whether the parity was successfully written to the disk before the interruption. For cluster RAIDS, any holes in one or more stripes must be completed before the array can be restarted or the secondary controller can take over operation of the array.